package com.sunwayhorizo.health.business.integration.excelTools;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.List;

import javax.ejb.Local;

import jxl.read.biff.BiffException;

import com.sunwayhorizo.health.business.dto.registries.BedDTO;
import com.sunwayhorizo.health.business.dto.registries.DepartmentDTO;
import com.sunwayhorizo.health.business.dto.registries.EntitysDTO;
import com.sunwayhorizo.health.ets.dto.EtConceptsDTO;
import com.sunwayhorizo.health.hl7.common.Hl7Exception;

@Local
public interface ExcelEtsToolsLocal {
	/**
	 * 对国籍excel文件简单解析
	 * 
	 * @Title convertEtsExcel
	 * @param file
	 *            需要解析的excel文件
	 * @return List<EtConceptsDTO> 返回術語DTO集合
	 * @throws FileNotFoundException
	 * @throws IOException
	 * @throws BiffException
	 * @firstAuthor lidn
	 * @firstTime 2011-04-12 19:18:32
	 * @lastAuthor lidn
	 * @lastTime 2011-04-13 9:23:39
	 */
	List<EtConceptsDTO> convertEtConceptsExcel(File file) throws FileNotFoundException, BiffException, IOException;
	/**
	 * 对国籍excel文件简单解析
	 * 
	 * @Title convertEtsExcel
	 * @param file
	 *            需要解析的excel文件
	 * @param versionId
	 *            所属版本id
	 * @return List<EtConceptsDTO> 返回術語DTO集合
	 * @throws FileNotFoundException
	 * @throws IOException
	 * @throws BiffException
	 * @firstAuthor lidn
	 * @firstTime2011-04-12 19:18:32
	 * @lastAuthor lidn
	 * @lastTime 2011-04-13 9:23:39
	 */
	List<EtConceptsDTO> convertEtConceptsExcel(File file,String versionId) throws FileNotFoundException, BiffException, IOException;
	/**
	 * 对科室信息excel文件进行父子关系解析
	 * @Title convertEtsExcel
	 * @param file
	 *            需要解析的excel文件
	 * @param versionId
	 *            所属版本id
	 * @return List<DepartmentDTO> 返回科室DTO集合
	 * @firstAuthor lidn
	 * @firstTime 2011-04-12 19:18:32
	 * @lastAuthor lidn
	 * @lastTime 2011-04-13 9:23:39
	 */
	List<DepartmentDTO> convertDepartmentExcel(File file)throws FileNotFoundException, BiffException, IOException;	
	/**
	 * 对人员信息excel文件进行解析组合
	 * @Title convertEtsExcel
	 * @param file
	 *            需要解析的excel文件
	 * @return List<EntitysDTO> 返回患者实体类Dto，(包含患者的所有个人信息,组织基本信息，place基本信息等）集合
	 * @throws Hl7Exception 
	 * @firstAuthor lidn
	 * @firstTime 2011-04-12 19:18:32
	 * @lastAuthor lidn
	 * @lastTime 2011-04-13 9:23:39
	 */
	List<EntitysDTO> convertEntitysExcel(File file)throws FileNotFoundException, BiffException, IOException, Hl7Exception;
	List<EntitysDTO> convertEntitysExcel(File file, int startNo, int catchNo)
			throws FileNotFoundException, BiffException, IOException;
	List<BedDTO> convertBedExcel(File file) throws FileNotFoundException,
			BiffException, IOException, Hl7Exception;
	List<BedDTO> convertBedExcel(File file, int start, int size)
			throws FileNotFoundException, BiffException, IOException,
			Hl7Exception;	
}
